package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;

import java.util.List;


/**
 * 角色表接口
 */
public interface RoleService {
    /**
     * 分页查询
     * @return
     */
    PageResult findPage(Integer currentPage, Integer pageSize, String queryString);
    /**
     * 新增角色
     */
    void add(Role role);

    /**
     * 查询角色
     * @param roleId
     */
    Role findById(Integer roleId);

    /**
     * 修改角色
     * @param role
     */
    void edit(Role role);

    /**
     * 根据角色id 查询菜单id
     */
    List<Integer> findRoleMenuIdsByRoleId(Integer roleId);
    /**
     * 根据角色id，删除角色
     */
    void deleteById(Integer roleId);

    /**
     * 根据角色id，删除角色
     */
    List<Integer> findRolepermissionIdsByRoleId(Integer roleId);
    /**
     * 查询所有权限
     */
    List<Permission> queryAllPermissions();
    /**
     * 查询所有菜单
     */
    List<Menu> findAllMenu();
    /**
     * 根据角色id修改角色和菜单表的关联
     */
    void menupermissionedit(Integer roleId, Integer[] menu,Integer[] permission);
}
